package mce.web.controller;

import javax.servlet.http.HttpServletRequest;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;


@Controller
@RequestMapping
public class NavigationController {
	
	/**
	 * Login.jsp
	 **/
	@RequestMapping
	public String getInitialPage(HttpServletRequest request){		
		return "Login";
	}
	@RequestMapping("/login")
	public String login(HttpServletRequest request){		
		return "Login";
	}
	
	/*FAQ Files*/
	@RequestMapping("/account-faq")
	public String accountFAQ(HttpServletRequest request){		
		return "faq/account-faq";
	}
	@RequestMapping("/element-hydro-faq")
	public String elementHydroFAQ(HttpServletRequest request){		
		return "faq/element-hydro-faq";
	}
	@RequestMapping("/element-traction-faq")
	public String elementTractionFAQ(HttpServletRequest request){		
		return "faq/element-traction-faq";
	}
	
	/**
	 * NewAccount.jsp
	 */
	@RequestMapping("/create-new-account")
	public String createNewAccount(HttpServletRequest request){		
		return "NewAccount";
	}
	
	/**
	 * ForgotUsernamePassword.jsp
	 */
	@RequestMapping("/forgot-username-password")
	public String forgotUsernamePassword(HttpServletRequest request){		
		return "ForgotUsernamePassword";
	}
	/**
	 * Logout
	 */	
	@RequestMapping("/logout")
	public String logout(HttpServletRequest request){		
		return "Logout";
	}
	
	/**
	 * Change password
	 */
	@RequestMapping("/change-password")
	public String changePassword(HttpServletRequest request){
		return "ChangePassword";
	}
	
	/**
	 * Quote history
	 */
	@RequestMapping("/quote-history")
	public String quoteHistory(HttpServletRequest request){
		return "QuoteHistory";
	}
	/**
	 * Order history
	 */
	@RequestMapping("/order-history")
	public String orderHistory(HttpServletRequest request){
		return "OrderHistory";
	}
	
	/**
	 * Create quote
	 */
	@RequestMapping("/create-quote")
	public String createQuote(HttpServletRequest request){
		return "create-quote/Job-Information";
	}
	
	/**
	 * System configuration (Quote Process)
	 */
	@RequestMapping("/create-quote/system-configuration-simplex")
	public String systemConfigurationSimplex(HttpServletRequest request){
		return "create-quote/System-Configuration";
	}
	/**
	 * Starter (Quote Process - Car configuration)
	 */
	@RequestMapping("/create-quote/car-configuration/starter-simplex")
	public String starterSimplex(HttpServletRequest request){
		return "create-quote/Starter";
	}
	/**
	 * Hoist way (Quote Process - Car configuration)
	 */
	@RequestMapping("/create-quote/car-configuration/hoistway-simplex")
	public String hoistwaySimplex(HttpServletRequest request){
		return "create-quote/Hoistway";
	}
	/**
	 * Options (Quote Process - Car configuration)
	 */
	@RequestMapping("/create-quote/car-configuration/options-simplex")
	public String optionsSimplex(HttpServletRequest request){
		return "create-quote/Options";
	}
	/**
	 * Review Summary (Quote Process )
	 */
	@RequestMapping("/create-quote/review-summary-simplex")
	public String reviewSummarySimplex(HttpServletRequest request){
		return "create-quote/ReviewSummary";
	}
	/**
	 * Receive Quote (Quote Process)
	 */
	@RequestMapping("/create-quote/car-configuration/receive-quote-simplex")
	public String receiveQuoteSimplex(HttpServletRequest request){
		return "create-quote/ReceiveQuote";
	}	
	/**
	 * System (Order Place)
	 */
	@RequestMapping("/create-order/product-configuration/system-simplex")
	public String systemSimplex(HttpServletRequest request){
		return "order/System";
	}
	/**
	 * Fire Op (Order Place)
	 */
	@RequestMapping("/create-order/car-configuration/fire-op-simplex")
	public String fireOpSimplex(HttpServletRequest request){
		return "order/FireOp";
	}
	/**
	 * Indicators (Order Place)
	 */
	@RequestMapping("/create-order/car-configuration/indicators-simplex")
	public String indicatorsSimplex(HttpServletRequest request){
		return "order/Indicators";
	}
	/**
	 * Door Op (Order Place)
	 */
	@RequestMapping("/create-order/car-configuration/door-op-simplex")
	public String doorOpSimplex(HttpServletRequest request){
		return "order/DoorOp";
	}
	/**
	 * Config (Order Place)
	 */
	@RequestMapping("/create-order/car-configuration/config-simplex")
	public String configSimplex(HttpServletRequest request){
		return "order/Config";
	}
	/**
	 * Product Summary (Order Place)
	 */
	@RequestMapping("/create-order/product-summary-simplex")
	public String productSummaySimplex(HttpServletRequest request){
		return "order/ProductSummary";
	}
	/**
	 * Select Shipping (Order Place)
	 */
	@RequestMapping("/create-order/shipping-details/select-shipping-simplex")
	public String selectShippingSimplex(HttpServletRequest request){
		return "shipping/SelectShipping";
	}
	/**
	 * Verify Shipping (Order Place)
	 */
	@RequestMapping("/create-order/shipping-details/verify-shipping-simplex")
	public String verifyShippingSimplex(HttpServletRequest request){
		return "shipping/VerifyShipping";
	}
	/**
	 * Place Order (Order Place)
	 */
	@RequestMapping("/create-order/finished-order/place-order")
	public String placeOrder(HttpServletRequest request){
		return "finishedorder/PlaceOrder";
	}
	/**
	 * Order Failed (Order Place)
	 */
	@RequestMapping("/create-order/payment-failed")
	public String paymentFailed(HttpServletRequest request){
		return "finishedorder/OrderFailed";
	}
	/**
	 * Order Completed (Order Place)
	 */
	@RequestMapping("/create-order/order-completed")
	public String orderComplete(HttpServletRequest request){
		return "finishedorder/OrderCompleted";
	}
	
	/*Edit Quote*/	
	/**
	 * System configuration (Quote Process) - Edit Quote
	 */
	@RequestMapping("/edit-quote/system-configuration-simplex")
	public String systemConfigurationSimplexEdit(HttpServletRequest request){
		return "quote/System-Configuration";
	}
	/**
	 * System configuration (Quote Process) - Edit Quote
	 */
	@RequestMapping("/edit-quote/system-configuration-duplex")
	public String systemConfigurationDuplexEdit(HttpServletRequest request){
		return "quote-duplex/System-Configuration-duplex";
	}	
	/**
	 * Starter (Quote Process - Car configuration)-Edit Quote
	 */
	@RequestMapping("/edit-quote/car-configuration/starter-simplex")
	public String starterSimplexEdit(HttpServletRequest request){
		return "quote/Starter";
	}
	/**
	 * Hoist way (Quote Process - Car configuration)-Edit Quote
	 */
	@RequestMapping("/edit-quote/car-configuration/hoistway-simplex")
	public String hoistwaySimplexEdit(HttpServletRequest request){
		return "quote/Hoistway";
	}
	/**
	 * Options (Quote Process - Car configuration)-Edit Quote
	 */
	@RequestMapping("/edit-quote/car-configuration/options-simplex")
	public String optionsSimplexEdit(HttpServletRequest request){
		return "quote/Options";
	}
	/**
	 * Review Summary (Quote Process)-Edit Quote
	 */
	@RequestMapping("/edit-quote/review-summary")
	public String reviewSummaryEdit(HttpServletRequest request){
		return "quote/ReviewSummary";
	}
	/**
	 * Receive Quote (Quote Process) - Edit Quote
	 */
	@RequestMapping("/edit-quote/receive-quote")
	public String receiveQuoteEdit(HttpServletRequest request){
		return "quote/ReceiveQuote";
	}
	
	/* Receive Quote for Create Order*/
	/**
	 * Receive Quote for create order simplex
	 */
	@RequestMapping("/receive-quote-for-create-order-simplex")
	public String receiveQuoteForCreateOrderSimplex(HttpServletRequest request){
		return "view-receive-quote-for-create-order/ReceiveQuoteForPlaceOrderSimplex";
	}
	/* Receive Quote for Create Order*/
	/**
	 * Receive Quote for create order duplex
	 */
	@RequestMapping("/receive-quote-for-create-order-duplex")
	public String receiveQuoteForCreateOrderDuplex(HttpServletRequest request){
		return "view-receive-quote-for-create-order/ReceiveQuoteForPlaceOrderDuplex";
	}
	
	
	
	/********DUPLEX**********************/
	/**
	 * Create quote (duplex)
	 */
	@RequestMapping("/create-quote-duplex")
	public String createQuoteDuplex(HttpServletRequest request){
		return "quote-duplex/Job-Information-duplex-create";
	}
	
	/**
	 * System configuration-Create Quote (duplex)
	 */
	@RequestMapping("/create-quote-duplex/system-configuration-duplex")
	public String systemConfigurationCreateQuoteDuplex(HttpServletRequest request){
		return "quote-duplex/System-Configuration-duplex-create";
	}
	/**
	 * StarterA - Create Quote (duplex)
	 */
	@RequestMapping("/create-quote-duplex/car-a-configuration/starter-duplex")
	public String starterACreateQuoteDuplex(HttpServletRequest request){
		return "quote-duplex/StarterA-duplex-create";
	}
	/**
	 * HoistWay A - Create Quote (duplex)
	 */
	@RequestMapping("/create-quote-duplex/car-a-configuration/hoistway-duplex")
	public String hoistwayACreateQuoteDuplex(HttpServletRequest request){
		return "quote-duplex/HoistwayA-duplex-create";
	}
	/**
	 * Options A - Create Quote (duplex)
	 */
	@RequestMapping("/create-quote-duplex/car-a-configuration/options-duplex")
	public String optionsACreateQuoteDuplex(HttpServletRequest request){
		return "quote-duplex/OptionsA-duplex-create";
	}
	/*******************************************
	 */
	/**
	 * Starter B - Create Quote (duplex)
	 */
	@RequestMapping("/create-quote-duplex/car-b-configuration/starter-duplex")
	public String starterBCreateQuoteDuplex(HttpServletRequest request){
		return "quote-duplex/StarterB-duplex-create";
	}
	/**
	 * HoistWay B - Create Quote (duplex)
	 */
	@RequestMapping("/create-quote-duplex/car-b-configuration/hoistway-duplex")
	public String hoistwayBCreateQuoteDuplex(HttpServletRequest request){
		return "quote-duplex/HoistwayB-duplex-create";
	}
	/**
	 * Options B - Create Quote (duplex)
	 */
	@RequestMapping("/create-quote-duplex/car-b-configuration/options-duplex")
	public String optionsBCreateQuoteDuplex(HttpServletRequest request){
		return "quote-duplex/OptionsB-duplex-create";
	}
	/**
	 * Review Summary - Create Quote (duplex)
	 */
	@RequestMapping("/create-quote-duplex/review-summary-duplex")
	public String reviewSummaryCreateQuoteDuplex(HttpServletRequest request){
		return "quote-duplex/ReviewSummary-duplex-create";
	}
	/**
	 * Save and Receive Quote - Create Quote (duplex)
	 */
	@RequestMapping("/create-quote-duplex/receive-quote-duplex")
	public String saveAndReceiveQuoteCreateQuoteDuplex(HttpServletRequest request){
		return "quote-duplex/ReceiveQuote-duplex-create";
	}
	/**
	 * Create Order (duplex)
	 */
	@RequestMapping("/create-order-duplex/product-configuration/system-duplex")
	public String systemCreateOrderDuplex(HttpServletRequest request){
		return "order-duplex/System";
	}
	/**
	 * Fire OP A (duplex)
	 */
	@RequestMapping("/create-order-duplex/car-a-configuration/fire-op-duplex")
	public String fireOpACreateOrderDuplex(HttpServletRequest request){
		return "order-duplex/FireOp-A";
	}
	/**
	 * Indicators A (duplex)
	 */
	@RequestMapping("/create-order-duplex/car-a-configuration/indicators-duplex")
	public String indicatorsACreateOrderDuplex(HttpServletRequest request){
		return "order-duplex/Indicators-A";
	}
	/**
	 * Door Op A (duplex)
	 */
	@RequestMapping("/create-order-duplex/car-a-configuration/door-op-duplex")
	public String doorOpACreateOrderDuplex(HttpServletRequest request){
		return "order-duplex/DoorOp-A";
	}
	/**
	 * Config A (duplex)
	 */
	@RequestMapping("/create-order-duplex/car-a-configuration/config-duplex")
	public String configACreateOrderDuplex(HttpServletRequest request){
		return "order-duplex/Config-A";
	}
	/**
	 * Fire OP B (duplex)
	 */
	@RequestMapping("/create-order-duplex/car-b-configuration/fire-op-duplex")
	public String fireOpBCreateOrderDuplex(HttpServletRequest request){
		return "order-duplex/FireOp-B";
	}
	/**
	 * Indicators B (duplex)
	 */
	@RequestMapping("/create-order-duplex/car-b-configuration/indicators-duplex")
	public String indicatorsBCreateOrderDuplex(HttpServletRequest request){
		return "order-duplex/Indicators-B";
	}
	/**
	 * Door Op B (duplex)
	 */
	@RequestMapping("/create-order-duplex/car-b-configuration/door-op-duplex")
	public String doorOpBCreateOrderDuplex(HttpServletRequest request){
		return "order-duplex/DoorOp-B";
	}
	/**
	 * Config B (duplex)
	 */
	@RequestMapping("/create-order-duplex/car-b-configuration/config-duplex")
	public String configBCreateOrderDuplex(HttpServletRequest request){
		return "order-duplex/Config-B";
	}
	
	/**
	 * Product Summary (duplex)
	 */
	@RequestMapping("/create-order-duplex/product-summary")
	public String productSummaryCreateOrderDuplex(HttpServletRequest request){
		return "order-duplex/ProductSummary";
	}
	
	/**
	 * Shipping Duplex
	 */
	/**
	 * Select Shipping (Order Place) - Duplex
	 */
	@RequestMapping("/create-order-duplex/shipping-details/select-shipping-duplex")
	public String selectShippingDuplex(HttpServletRequest request){
		return "shipping-duplex/SelectShipping";
	}
	/**
	 * Verify Shipping (Order Place) - Duplex
	 */
	@RequestMapping("/create-order-duplex/shipping-details/verify-shipping-duplex")
	public String verifyShippingDuplex(HttpServletRequest request){
		return "shipping-duplex/VerifyShipping";
	}
	/**
	 * Place Order (Order Place)
	 */
	@RequestMapping("/create-order-duplex/finished-order/place-order")
	public String placeOrderDuplex(HttpServletRequest request){
		return "finishedorder/PlaceOrder";
	}
	/**
	 * Order Completed (Order Place)
	 */
	@RequestMapping("/create-order-duplex/order-completed")
	public String orderCompleteDuplex(HttpServletRequest request){
		return "finishedorder/OrderCompleted";
	}
	
	
	
	
	/*REQUEST FILES*/
	/**
	 * Request files
	 */
	@RequestMapping("/request-files")
	public String requestFiles(HttpServletRequest request){
		return "request-file/RequestFile";
	}
	/**
	 * Request files success
	 */
	@RequestMapping("/request-file-sucess")
	public String requestFilesSuccess(HttpServletRequest request){
		return "request-file/Success";
	}
	
	/*EDIT QUOTE DUPLEX */
	/**
	 * System Configuration (Quote Process) - Duplex
	 */
	@RequestMapping("/edit-quote-duplex/system-configuration")
	public String systemConfigurationDuplex(HttpServletRequest request){
		return "quote-duplex/System-Configuration-duplex";
	}	
	/**
	 * Starter A (Quote Process) - Duplex
	 */
	@RequestMapping("/edit-quote-duplex/car-a-configuration/stater")
	public String starterACarConfigurationDuplex(HttpServletRequest request){
		return "quote-duplex/StarterA-duplex";
	}	
	/**
	 * Hoistway A (Quote Process) - Duplex
	 */
	@RequestMapping("/edit-quote-duplex/car-a-configuration/hoistway")
	public String hoistwayACarConfigurationDuplex(HttpServletRequest request){
		return "quote-duplex/HoistwayA-duplex";
	}	
	/**
	 * Options A (Quote Process) - Duplex
	 */
	@RequestMapping("/edit-quote-duplex/car-a-configuration/options")
	public String optionsACarConfigurationDuplex(HttpServletRequest request){
		return "quote-duplex/OptionsA-duplex";
	}	
	/**
	 * Starter B (Quote Process) - Duplex
	 */
	@RequestMapping("/edit-quote-duplex/car-b-configuration/stater")
	public String starterBCarConfigurationDuplex(HttpServletRequest request){
		return "quote-duplex/StarterB-duplex";
	}	
	/**
	 * Hoistway B (Quote Process) - Duplex
	 */
	@RequestMapping("/edit-quote-duplex/car-b-configuration/hoistway")
	public String hoistwayBCarConfigurationDuplex(HttpServletRequest request){
		return "quote-duplex/HoistwayB-duplex";
	}	
	/**
	 * Options B (Quote Process) - Duplex
	 */
	@RequestMapping("/edit-quote-duplex/car-b-configuration/options")
	public String optionsBCarConfigurationDuplex(HttpServletRequest request){
		return "quote-duplex/OptionsB-duplex";
	}	
	/**
	 * Review Summary (Quote Process) - Duplex
	 */
	@RequestMapping("/edit-quote-duplex/review-summary")
	public String reviewSummaryEditQuoteDuplex(HttpServletRequest request){
		return "quote-duplex/ReviewSummary-duplex";
	}	
	
	/**
	 * Receive Quote (Quote Process) - Duplex
	 */
	@RequestMapping("/edit-quote-duplex/receive-quote-duplex")
	public String receiveQuoteEditQuoteDuplex(HttpServletRequest request){
		return "quote-duplex/ReceiveQuote-duplex";
	}
	
	/**
	 * Receive Quote (Quote Process) - Duplex
	 */
	@RequestMapping("/receive-quote-for-place-order-duplex")
	public String receiveQuoteForPlaceOrderDuplex(HttpServletRequest request){
		return "view-receive-quote-for-create-order/ReceiveQuoteForPlaceOrderDuplex";
	}
	
	/**
	 * Receive Quote (Quote Process) - Duplex
	 */
	@RequestMapping("/contact")
	public String navigateContact(HttpServletRequest request){
		return "Contact";
	}
}




















